<?php
	
/** @brief Componente que soporta eventos de teclado.
	Es un componente grafico que registra eventos extras de teclado y foco.
*/
class x_focusable extends x_graphic{
	function __construct($id){
		parent::__construct($id);
		$this->props->reg_arr( array('validation') );
		$this->events->reg_arr( array('onblur','onchange','onfocus','onkeydown','onkeypress','onkeyup','onselect','onvalerror') );
		$this->bind_self_method('onchange','ax_validate','element.value');
		$this->bind_self_method('onvalerror','ax_alert'); 
	}

	/*BORRAR, solo de prueba*/
	function ax_alert(){
			$objResponse = new xajaxResponse();
			$objResponse->alert('Error de validacion en '.$this->get_prop('id'));
			return $objResponse;
	}

	function ax_validate($txt){
			$objResponse = new xajaxResponse();
			$v = $this->get_prop('validation');
			if( !emptystr($v) && !validate($txt,$v) )
				$this->gen_event($objResponse,'onvalerror'); //Aca se genera un evento personalizado
			return $objResponse;
	}
}



?>